package com.ygq;

import DO.EncodeTestDataTypeDO;
import DTO.*;
import VO.EncodeExampleVO;
import VO.EncodeTestVO;
import result.PageResult;
import result.Result;

import java.util.List;

public interface EncodeQuestionService {

    // 分页查询
    PageResult getEncodeQuestion(PageJudgeQuestionDTO pageQuestionDTO);

    // 根据题目id获取改题目的结果示例
    EncodeExampleVO getEncodeExampleByEncodeId(Integer id,Integer order);

    // 获取结果示例的数量
    Integer getEncodeExampleNumberByEncodeId(Integer id);

    // 修改编程题结果示例
    void UpdateEncodeExampleById(UpdateEncodeExampleDTO updateEncodeExampleDTO);

    // 修改编程题
    void updateEncodeQuestion(UpdateEncodeQuestionDTO updateEncodeQuestionDTO);

    // 删除编程示例
    void deleteEncodeExample(Integer id,Integer encodeExampleId);

    // 添加编程题示例
    void AddEncodeExample(AddEncodeExampleDTO addEncodeExampleDTO);

    // 获取数据类型
    List<EncodeTestDataTypeDO> getType();

    // 获取测试用例的数量
    Integer getEncodeTestNumber(Integer id);

    // 获取测试用例的数据
    EncodeTestVO getEncodeTest(Integer id, Integer order);

    // 修改测试用例
    void updateEncodeTest(UpdateEncodeTestDTO updateEncodeTestDTO);

    // 删除测试用例
    void deleteEncodeTest(Integer id);

    // 添加测试用例
    void addTest(UpdateEncodeTestDTO updateEncodeTestDTO);

    // 添加编程题
    void addEncode(AddEncodeDTO addEncodeDTO);

    // 修改通过率
    void editAdd1(Integer encodeId);

    void editMinus(Integer encodeId);
}
